Contents server, contents receiving apparatus and network system for adding information to digital contents

ABSTRACT

Method and system for embedding a unique and different digital watermark in digital contents for each access without increasing the overhear or load at the contents server. The contents server has a digital watermark-embedded contents storage unit for storing a plurality of digital contents where a different digital watermark is embedded, and a fingerprint performing unit for, adding to the digital contents the information specified using a bit row that is formed by a digital watermark being embedded for each part of the digital contents.

FIELD OF THE INVENTION

The present invention relates to a method for distributing the digitalcontents, and more particularly to a method for adding predeterminedinformation to the digital contents along with the distribution of thedigital contents.

BACKGROUND

In distributing the video or sound as digital data (digital contents),it is common practice to embed the electronic watermark information(digital watermark) in the digital contents in order to designate asource of the digital contents or enhance the security.

Nowadays, various kinds of digital contents are distributed on-line viaa network such as the Internet, in which there is a demand for anapplication for adding the information (identification information)different for each distribution destination or user in distributing thedigital contents, as prevention means for preventing illegal use of thedistributed digital contents, and means for designating a secondarydistribution destination (this application is hereinafter referred to asa fingerprint). To implement this fingerprint, the additionalinformation may be described in a format header of the digital contents.However, considering that the distributed digital contents are possiblysubjected to various edits including compression, DA/AD conversion, andformat conversion, it is effective to embed the additional informationto the digital contents themselves, employing a digital watermarktechnique.

As above described, one problem is that in the fingerprint, it isrequired to change the information added to the digital contents foreach user to access or each distribution destination. However, a processof embedding the digital watermark to the digital contents comprisescalculating an operation amount in a range without influence on thequality of digital contents themselves (without deterioration in thevisual or aural elements), whereby the processing calculation cost isgenerally very high. Therefore, if a different digital watermark isembedded for each access to the digital contents, a server providing thedigital contents (hereinafter referred to as a contents server) has avery high load.

In a digital contents distributing system practically on-line, it isrequired for a plurality of users to gain access simultaneously andacquire desired digital contents. However, in the above system where thecontents server has high load, the number of users capable of gainingaccess simultaneously can not be increased to lack the practicality ofthe system.

In the case where the digital contents are distributed in the recentnetwork system, the digital contents of distribution object are usuallynon-reversibly compressed due to a limited bandwidth in the networkenvironment. Therefore, it is required to perform a process of unpackingand recompressing the digital contents to embed a digital watermark, sothat the contents server has more load.

Particularly, in a streaming distribution in which the contentsdistribution in real time needs to be guaranteed for each user, it is asignificant problem that the contents server has an increased load.

SUMMARY OF THE INVENTION

Thus, it is an object of the present invention to embed a differentdigital watermark in the digital contents for each access withoutincreasing load at the contents server to the utmost.

Also, it is another object of the invention to implement a digitalcontents distribution system practically on line, employing such adigital watermark-embedding technique.

In order to accomplish the above object, the present invention isimplemented as a network system configured in the following way. Thisnetwork system comprises a contents server distributing digital contentsvia a network, and a client terminal receiving the distributed digitalcontents. And this client terminal transmits an acquisition request fordesired digital contents to the contents server, and the contents serverswitches and synthesizes the plurality of digital contents where adifferent digital watermark is embedded for each specific part togenerate the digital contents with predetermined information embedded inresponse to this acquisition request and transmits the generated digitalcontents to the client terminal.

Preferably, this contents server comprises a contents storage part forstoring a plurality of digital contents where a different digitalwatermark is embedded, and an information adding part for, by readingout a plurality of the digital contents from the contents storage part,switching and synthesizing the digital contents for each specific part,adding to the digital contents information specified by a digitalwatermark being embedded for each part of the digital contents.

Also, another network system of the invention comprises a serverdistributing digital contents, and a client terminal receiving thedistributed digital contents. This server distributes a plurality ofdigital contents wherein a different digital watermark is embedded atthe same time. On the other hand, this client terminal switches andsynthesizes the plurality of received digital contents for each specificpart to add predetermined information to the digital contents.

This network system is implemented as a broadcasting network such astelevision broadcasting. In this case, the server is a broadcastingstation and the client terminal is a receiving apparatus such as atelevision receiver.

Preferably, this client terminal comprises a receiving means forreceiving a plurality of digital contents wherein a different digitalwatermark is embedded, and an information adding means for, by switchingand synthesizing the plurality of digital contents received by thisreceiving means for each specific part, adding to the digital contentsinformation specified by a digital watermark being embedded for eachpart of the digital contents.

Moreover, the invention is implemented as a computer configured in thefollowing way. That is, this computer comprises a selector for inputtinga plurality of digital contents wherein a different digital watermark isembedded, and for outputting while switching selectively the pluralityof digital contents for each specific part, and a control part forcontrolling the selector based on a predetermined embedment information,the computer generating by a control at the control part, digitalcontents wherein the embedment information is described with a bit rowbeing formed by the digital watermark-embedded in for each of the partof the digital contents.

Another invention to accomplish the above object is implemented as amethod for adding information to digital contents by using a computer.That is, this information adding method comprises a first step ofgenerating a plurality of digital watermark-embedded contents byembedding a different digital watermark in predetermined digitalcontents, and a second step of, by switching and synthesizing theplurality of digital contents where a different digital watermark isembedded for each specific part, adding to the digital contentsinformation specified by a digital watermark being embedded for eachpart of the digital contents.

In this method for adding information to digital contents, the firststep comprises compressing the generated digital contents, and creatingthe pointer information pointing to a delimiter position in the part ofthe compressed digital contents, and the second step comprisessynthesizing the digital contents based on the pointer information, andadding the information to the digital contents without unpacking thedigital contents.

Further, the invention is implemented as a program for performing thedata processing by controlling a computer. This program comprises afirst process for reading out predetermined embedment information from apredetermined storage device, and a second process for acquiring aplurality of digital contents where a different digital watermark isembedded, selectively switching the plurality of digital contents for aspecific part, based on the embedment information, and generating thedigital contents describing the embedment information, using a bitsequence formed with a digital watermark-embedded in each specific partof the digital contents. Such program is provided in a magnetic disk, anoptical disk, a semiconductor memory, or other recording medium, ordistributed via a network.

THE FIGURES

Various aspects of the invention are illustrated in the Figures appendedhereto.

FIG. 1 is a diagram schematically showing the overall configuration of adigital contents distributing system according to a first embodiment ofthe present invention;

FIG. 2 is a block diagram typically showing a hardware configuration ofa computer suitable for implementing a contents server according to thefirst embodiment of the invention;

FIG. 3 is a diagram showing the functional configuration of the contentsserver according to the first embodiment of the invention;

FIG. 4 is a diagram for explaining a method for generating thefingerprint information in a fingerprint performing part according tothe first embodiment of the invention;

FIG. 5 is a diagram for explaining another method for generating thefingerprint information in the fingerprint performing part;

FIG. 6 is a diagram for explaining a further method for generating thefingerprint information in the fingerprint performing part;

FIG. 7 is a flowchart for explaining a process for generating thedigital watermark-embedded contents in a digital watermark-embeddingpart according to the first embodiment of the invention;

FIG. 8 is a flowchart for explaining a process for generating thefingerprint information in a fingerprint performing part according tothe first embodiment of the invention;

FIG. 9 is a block diagram showing a process for making fingerprint withdigital watermark in the compressed contents according to the firstembodiment of the invention, as compared with the conventional process;

FIG. 10 is diagram showing how to generate the fingerprint informationby switching a plurality of contents compressed and with digitalwatermark-embedded for each raw data block; and

FIG. 11 is a diagram schematically showing the overall configuration ofa system for distributing the digital contents according to a secondembodiment of the invention.

As shown in the Figures, element 10 is the Contents server, element 11is the Original contents storage part, element 12 is the digitalwatermark-embedding part, element 13 is the Digital watermark-embeddedcontents storage part, element 14 is the Fingerprint performing part,element 20 is the Client terminal, element 30 is the Network, element 40is the Broadcast station, element 50 is the Receiving apparatus, element51 is the Receiving component, element 52 is the Contents using part,element 101 is the CPU, element 102 is the M/B chip set, element 103 isthe Main memory, element 105 is the Hard disk, element 106 is theNetwork interface, element 141 is the Contents selector, and 142 is thePseudo random number generator.

DETAILED DESCRIPTION

The first and second embodiments of the present invention will bedescribed below in detail with reference to the accompanying drawings.

First Embodiment

FIG. 1 is a diagram schematically showing the overall configuration of adigital contents distributing system according to a first embodiment ofthe present invention.

As shown in FIG. 1, the system of this embodiment comprises a contentsserver 10 that possesses and distributes the digital contents(hereinafter simply referred to as contents) such as video or sound viaa network 30 and a client terminal 20 that receives the contentsdistributed from the contents server 10.

In this embodiment, the contents server 10 makes a fingerprint withdigital watermark in the contents in distributing the contents. That is,the contents server adds the information different for each distributiondestination or user (identification information) to the contents, usingthe digital watermark.

The client terminal 20 receives the contents distributed from thecontents server 10. The user at the client terminal 20 operates theclient terminal 20 to employ (reproduce or peruse) the acquiredcontents. The fingerprint made in the contents has no influence(deterioration of image quality or sound) on the use of the contents,because the information is added using a digital watermark technique.

The network 30 is any one of the networks usable for distributing thecontents, such as information communication networks such as theInternet and various kinds of WAN (Wide Area Network) or LAN (Local AreaNetwork), and the broadcasting networks such as for televisionbroadcasting. The network line may be wire or wireless.

FIG. 2 is a block diagram typically showing a hardware configuration ofa computer suitable for implementing the contents server 10 in thisembodiment of the invention.

The computer in FIG. 2 comprises a CPU (Central Processing Unit) that isan operation means, a main memory 103 connected to the CPU 101 via anM/B (mother board) chip set 102 and a CPU bus, a video card 104connected to the CPU 101 via the M/B chip set 102 and an AGP(Accelerated Graphics Port), a hard disk 105, a network interface 106and a USB port 107 connected to the M/B chip set 102 via a PCI(Peripheral Component Interconnect) bus, and a floppy disk drive 109 anda keyboard/mouse 110 connected via the PCI bus, a bridge circuit 108 anda low speed bus such as an ISA (Industry Standard Architecture) bus tothe M/B chip set 102.

FIG. 2 only exemplifies the hardware configuration of the computer thatimplements this embodiment, but various other configurations may betaken as far as this embodiment is applicable. For example, a videomemory may be only mounted, instead of providing the video card 104, toprocess the image data in the CPU 101. A CD-ROM (Compact Disc Read OnlyMemory) or DVD-ROM (Digital Versatile Disc Read Only Memory) drive maybe provided via an interface such as ATA (AT Attachment).

The client terminal 20 may be configured by the computer as shown inFIG. 2, like the contents server 10. Also, it may be realized by a PDA(Personal Digital Assistant), a portable telephone, or other informationterminal units having the network function.

FIG. 3 is a diagram showing the functional configuration of the contentsserver 10.

As shown in FIG. 3, the contents server 10 comprises an originalcontents storage part 11 for storing the original contents, a digitalwatermark-embedding part 12 for embedding a digital watermark in theoriginal contents, a digital watermark-embedded contents storage part 13for storing the contents with the digital watermark-embedded, and afingerprint performing part 14 for making a fingerprint (addingfingerprint information) employing the contents with the digitalwatermark-embedded.

In the configuration as shown in FIG. 3, the digital watermark-embeddingpart 12 and the fingerprint performing part 14 are virtual softwareblocks that are implemented by the CPU 101 under program control. Also,the original contents storage part 11 and the digital watermark-embeddedcontents storage part 13 are implemented by a storage device such as themain memory 103 or the hard disk 105.

In FIG. 3, the characteristic configuration in this embodiment is onlyshown. In practice, the contents server has the general server functionssuch as accepting an access request from the client terminal 20.

The original contents storage part 11 stores the original data of thecontents distributed from the contents server 10, and the digitalwatermark-embedding part 12 reads out predetermined contents from theoriginal contents storage part 11, embeds a digital watermark in thecontents, and stores the contents in the digital watermark-embeddedcontents storage part 13.

The digital watermark-embedding part 12 embeds plural kinds of digitalwatermark in one kind of contents to generate a plurality of digitalwatermark-embedded contents. The plurality of generated digitalwatermark-embedded contents represent the bit information 0 for one partand the bit information 1 for the other part.

Also, an operation of embedding digital watermark in the contents isperformed beforehand, irrespective of the process for distributing thecontents.

The fingerprint performing part 14 reads out the digitalwatermark-embedded contents meaning the bit information 0 and thedigital watermark-embedded contents meaning the bit information 1 fromthe digital watermark-embedded contents storage part 13, and switchesand synthesizes these two kinds of contents for each specific part(partial set). Thereby, a bit row is formed by the digitalwatermark-embedded in the contents and the information in thefingerprint (fingerprint information) is described by this bit row.

This embodiment deals with a digital watermark-embedment detectingmethod based on a frequency diffusion technique typically employed asthe digital watermark technique. With this method, a signal sequenceb(n) representing the bit information is modulated by a pseudo randomnumber sequence p(n), and convoluted with a partial set C(n) of acontents original signal (original contents) C to embed any bitinformation. The partial set C(n) of the contents original signal C is adata set of contents divided in accordance with an appropriate rule.Each data is a part of original contents, and the whole of the originalcontents is constituted by an entire set.

Ce(n)=C(n)+α×[2b(n)−1]×p(n)

where b(n)=[0,1]

C(n)εC, C(i)̂C(j)=f(i′j)

Herein, Ce(n) is a partial set of the contents Ce with the fingerprintmade (i.e., for distribution), a is a parameter representing theintensity of digital watermark, and n is an index representing a part ofthe contents necessary to embed the 1 bit information.

In detecting the digital watermark-embedded by this method, thefollowing calculation is performed

$\begin{matrix}{{R(n)} = {{{Ce}(n)} \times {p(n)}}} \\{= {{{C(n)} \times {p(n)}} + {\alpha \times}}} \\{\left. {\left\lbrack {{2{b(n)}} - 1} \right\rbrack \times {p(n)}^{2}}\rightleftharpoons{a \times \left\lbrack {{2{b(n)}} - 1} \right\rbrack \times (n)^{2}} \right.}\end{matrix}$

Thereby, the embedded bit information b(n) is detected by comparing anobtained value with a certain threshold.

Also, in making the fingerprint in the contents with this method,2b(n)−1 takes the values of ±1, because the signal sequence b(n) is thebit information. Accordingly, the digital watermark-embedding part 12generates the contents Ce0 and Ce1 where digital watermark is embeddedin both cases of b(n)=0 and b(n)=1.

Ce0(n)=C(n)−αp(n)(Ce0(n)εCe0)

Ce1(n)=C(n)+αp(n)(Ce1(n)εCe1)

That is, the contents Ce0(n) means the bit information 0, and thecontents Ce1(n) means the bit information 1.

When the fingerprint is made on a contents original signal C, employingthe contents Ce0 and Ce1 with digital watermark-embedded, thefingerprint performing part 14 switches the contents Ce0(n) and Ce1(n)in accordance with the information m(n) to be embedded as thefingerprint information (hereinafter referred to as embedmentinformation m(n)) for each partial set C(n). Thereby, the contents Cfwhere embedment information m(n) described using the bit information asthe fingerprint information is embedded is generated. The embedmentinformation m(n) may be arbitrarily set up, depending on thedistribution destination or time of the contents, and stored in apredetermined storage device (main memory 103 in the computer as shownin FIG. 2).

Cf(n)=(m(n)0)?Ce0(n):Ce1(n)(Cf(n)εCf)

Where Cf(n) is a partial set of Cf.

FIG. 4 is a diagram for explaining a method for generating thefingerprint information in the fingerprint performing part 14.

As shown in FIG. 4, the fingerprint performing part 14 comprises acontents selector 141 for inputting the digital watermark-embeddedcontents Ce0 and Ce1, and selectively switches and outputs the digitalcontents, and a pseudo random number generator 142 as control means ofthe contents selector 141.

The contents selector 141 inputs the digital watermark-embedded contentsCe0 meaning the bit information 0 and the digital watermark-embeddedcontents Ce1 meaning the bit information 1. And it selectively switchesand outputs a partial set Ce0(n) of the contents Ce0 and a partial setCe1(n) of the contents Ce1 in accordance with a pseudo random numbersequence generated by the pseudo random number generator 142 to generatethe contents Cf with fingerprint made.

The pseudo random number generator 142 calculates a seed of pseudorandom number on the basis of the access information including theterminal information (terminal ID) of the client terminal 20 havingissued an acquisition request for the contents and the informationregarding the user of the client terminal 20 (user ID), calculates apseudo random number function employing the obtained seed, and generatesa pseudo random number sequence for controlling the contents selector141.

In this manner, the contents selector 141 is controlled employing thepseudo random number sequence generated by the pseudo random numbergenerator 142, so that the bit information is formed with digitalwatermark-embedded for each partial set Cf(n) of the contents Cf withfingerprint. Employing this bit information, the fingerprint informationcorresponding to the embedment information m(n) is described in thecontents Cf.

FIG. 5 is a diagram for explaining another method for generating thefingerprint information in the fingerprint performing part 14.

In this example, the contents where a digital watermark corresponding tothe bit information 0 is embedded and the contents where a digitalwatermark corresponding to the bit information 1 is embedded areprepared each in plural number. A pseudo random number sequence p(n) fordescribing the bit information is generated employing the predeterminedaccess information and a certain key. Also, the generated pseudo randomnumber sequence p(n) is changed by changing the value of this key inaccordance with a certain rule.

That is, the digital watermark-embedding part 12 generates the digitalwatermark-embedded contents Ce0 k and the digital watermark-embeddedcontents Ce1 k in plural number at least corresponding to the variablekinds of pseudo random number sequence p(n), which are employed todescribe the fingerprint information.

Ce0k(n)=C(n)−α(n,k)(Ce0k(n)εe0k)

Ce1k(n)=C(n)+α(n,k)(Ce1k(n)εe1k)

where k is an index of the key (i.e., seed of pseudo random number).Assuming that the total number of k is K, the digital watermark-embeddedcontents Ce0 k and the digital watermark-embedded contents Ce1 k aregenerated each at least in K ways.

Referring to FIG. 5, the contents selector 141 inputs the digitalwatermark-embedded contents Ce0 k and the digital watermark-embeddedcontents Ce1 k each in K ways, and selectively switches and outputs apartial set Ce0 k(n) of the contents Ce0 k and a partial set Ce1 k(n) ofthe contents Ce1 k in accordance with a pseudo random number sequencegenerated by the pseudo random number generator 142 to generate thecontents Cf with fingerprint.

CF(n)=(m(n)=0)?Ce0k(n):Ce1k(n)(Cf(n)εCf)

where A=X?Y:Z is a description method in the programming language suchas C language, meaning that A=Y if X is true, or A=Z if not.

The pseudo random number generator 142 calculates the seed of pseudorandom number in a maximum of K ways, based on the access informationand the key, and calculates a pseudo random number function employingthe obtained seed to generate a pseudo random number sequence forcontrolling the contents selector 141.

That is, in this example, though the digital watermark-embedded contentsCe0 k representing the bit information 0 and the digitalwatermark-embedded contents Ce1 k representing the bit information 1 aregenerated each in plural number, the contents where a digital watermarkcorresponding to the bit information (i.e., 0 or 1) suitable fordescribing the embedment information m(n) is embedded is selected,whereby the desired embedment information m(n) is embedded as thefingerprint information in the contents Ce. In this case, the digitalwatermark pattern embedded for each partial set Cf(n) in the contents Cfis very diversified, although the fingerprint information described by abit row being formed by the digital watermark is the same. Accordingly,it is possible to enhance the security against the attacks from thecontents distribution destination standing in to decode the fingerprintinformation by changing p(n) employing the key for each access.

FIG. 6 is a diagram for explaining a further method for generating thefingerprint information in the fingerprint performing part 14.

In this example, the fingerprint information is generated, employing theoriginal contents C, in addition to the digital watermark-embeddedcontents Ce0 and the digital watermark-embedded contents Ce1. That is, apartial set where no bit information is partially embedded is generatedin the contents Cf. The partial set where no bit information is embeddedis varied for each access. It is supposed that the number s (<N) ofpartial sets where no bit information is partially embedded is known.Herein, N is the total number of partial sets C(n) constituting theoriginal contents C. For example, in a case where the five digit bitinformation “10110” is embedded in the contents Cf with s=1, thefingerprint information is generated such as “10x110” and “1011x0”, ifthe partial set where no bit information is embedded is represented byx.

The bit information is interpreted by discarding s smaller detectedvalues from the detected values R(n) detected from all the partial setsCf0) to Cf(N−1) (thereby removing the partial sets without containingbit information (parts described as x in the above example)), andemploying N-s detected values.

In FIG. 6, the contents selector 141 inputs the digitalwatermark-embedded contents Ce0, the digital watermark-embedded contentsCe1 and the original contents C, and selectively switches and outputs apartial set Ce0(n) of the contents Ce0, a partial set Ce1(n) of thecontents Ce1 and a partial set C(n) of the contents C in accordance witha pseudo random number sequence generated by the pseudo random numbergenerator 142 to generate the contents Cf with fingerprint.

Cf(n)=(x(n)=1)?C(n):(m(n)=0)?Ce0(n):Ce1(n)

(Cf(n)εCf)

Where x(n) is a function of returning 1 in n if the original contentsare used, or 0 if not.

The pseudo random number generator 142 calculates the seed of pseudorandom number, based on the access information, and calculates a pseudorandom number function employing the obtained seed to generate a pseudorandom number sequence for controlling the contents selector 141 in thesame manner as in FIG. 4.

In this manner, it is possible to enhance the security against theattacks from the contents distribution destination standing in to decodethe fingerprint information by adequately providing a part withoutcontaining bit information in the contents, and changing the position ofthe part without containing bit information. As a method for embeddingthe bit information, the fingerprint information may be generatedemploying a plurality of digital watermark-embedded contents Ce0 k andCe1 k prepared and the original contents C, as shown in FIG. 5.

Referring to the flowcharts of FIGS. 7 and 8, a processing flow of thecontents server 10 in this embodiment will be described below.

FIG. 7 is a flowchart for explaining a process for generating thedigital watermark-embedded contents in the digital watermark-embeddingpart 12, and FIG. 8 is a flowchart for explaining a process forgenerating the fingerprint information in the fingerprint performingpart 14. Since the method for generating the fingerprint information asshown in FIG. 4 is considered a special case (k=1) of the method asshown in FIG. 5, a process for generating the digital watermark-embeddedcontents Ce0 k and Ce1 k in K ways (total number of k) will bedescribed.

As shown in FIG. 7, the digital watermark-embedding part 12 reads outthe original contents C to embed a digital watermark from the originalcontents storage part 11. Then, it is checked whether or not theoriginal contents C are compressed, and if compressed, the originalcontents are unpacked (steps 701, 702).

Then, the digital watermark is embedded in the original contents C togenerate the 2K digital watermark-embedded contents Ce0[1], Ce0[2], . .. , Ce0[K], Ce1[1], Ce1[2], . . . , Ce1[K] (step 703).

Lastly, the digital watermark-embedding part 12 stores the generateddigital watermark-embedded contents Ce0[1], Ce0[2], . . . , Ce0[K],Ce1[1], Ce1[2], . . . , Ce1[K] in the digital watermark-embeddedcontents storage part 13 (steps 704, 706). When the digitalwatermark-embedded contents Ce0[1], Ce0[2], . . . , Ce0[K], Ce1[1],Ce1[2], . . . , Ce1[K] are compressed and stored, each contents arecompressed, and the pointer information pointing to a delimiter positionof a partial set for each compressed contents is generated (steps 704,705), and then is stored together with the compressed contents in thedigital watermark-embedded contents storage part 13 (step 706). Thedetails of the pointer information will be described later.

The fingerprint performing part 14 makes a fingerprint on the contentsinvolving an acquisition request, when the contents server 10 acceptsthe acquisition request for the contents from a certain client terminal20.

As shown in FIG. 8, the fingerprint performing part 14 first of allreads out the digital watermark-embedded contents Ce0[1], Ce0[2], . . ., Ce0[K], Ce1[1], Ce1[2], . . . , Ce1[K] (hereinafter abbreviated asdigital watermark-embedded contents Ce0[k], Ce1[k]) for use to generatethe fingerprint information from the digital watermark-embedded contentsstorage part 13. Also, the embedment information m(n) is read from thepredetermined storage device (step 801). And the pseudo random numbergenerator 142 calculates the seed k of pseudo random number based on theaccess information (user ID) contained in the acquisition request and apredetermined embedment key E (step 802). Namely,

k=F(E,ID) (F is a function of calculating the seed)

Then, the pseudo random number generator 142 sets parameter n and thedistribution contents Ce such as n=1 and Ce=NULL (step 803), and decidesa partial set Cf(n) of the contents with fingerprint for the parametern, based on this parameter n, the seed k of the pseudo random numbercalculated at step 802, and the embedment information m(n) (step 804).Then, the contents selector 141 selects any of the partial setsCe0[k](n) and Ce1[k](n) for the parameter n in the digitalwatermark-embedded contents Ce0[k] and Ce1[k]). The partial setsCe0[k](n) and Ce1[k](n) of the selected contents Ce0[k] and Ce1[k] aretemporarily held in the predetermined storage device (main memory 103 inthe computer as shown in FIG. 2). When the original contents C is alsoemployed to generate the fingerprint information as with the method asshown in FIG. 6, Cf(n) is selected from any of Ce0[k](n), Ce1[k](n) andC(n).

Thereafter, the fingerprint performing part 14 couples the partial setCf(n) of the contents for the decided parameter n with the distributioncontents Ce already generated and held in the predetermined storagedevice (step 805).

Ce=Ce∥Cf(n)

Since initially, Ce=NULL at step 803, it follows that

Ce=Cf(1)

The distribution contents Ce generated up to step 805 are temporarilyheld in the predetermined storage device (main memory 103 in thecomputer as shown in FIG. 2).

Then, the fingerprint performing part 14 increments the value ofparameter n by 1, and if the new value of parameter n is within thetotal number N of the partial sets C(n) of the original contents C, theoperation gets back to step 804 to repeat the processing for the newparameter n (steps 806, 807). If the value of parameter n reaches N, thedistribution contents Ce is completed and the operation is ended.

The completed distribution contents Ce are read out from the storagedevice, and distributed in accordance with a form of the network 30 towhich the contents server 10 is connected (e.g., via the networkinterface 106 as shown in FIG. 2) (step 808). When the distributioncontents Ce are distributed in streaming, the partial sets Cf(n) of thecontents with fingerprint decided at step 804 are sequentiallydistributed without waiting for completion of the distribution contentsCe.

As described above, in this embodiment, a plurality of contents where adigital watermark is embedded are prepared, and combined and thereby thefingerprint information is added to the contents. Accordingly, theprocessing cost is lower, and the contents server 10 has a reduced load,unlike the case where the digital watermark containing the fingerprintinformation is embedded in the contents. Since the fast processing ismade, this embodiment is suitable as a method for dynamically adding thefingerprint information to the contents after accepting an acquisitionrequest for the contents from the client terminal 20.

By the way, in the case where the original contents of distributionobject are compressed, the size of the partial set C(n) of the contentsto embed the 1 bit information is varied depending on the value of n.Namely, when the contents selector 141 switches the digitalwatermark-embedded contents Ce0 and the digital watermark-embeddedcontents Ce1, the switching timing can not be provided for each constantnumber of bits. To solve this, the codeword sequence offset information(offset information of bit row) according to the compression format isgenerated to facilitate the switching for each n at the same time whengenerating the digital watermark-embedded contents Ce0 and Ce1. And thiscodeword sequence offset information is used as the pointer informationpointing to a delimiter position of the partial set of each compressedcontents (table registering the codeword sequence offset informationassociated with the delimiter position). That is, the fingerprintperforming part 14 generates the contents Cf by switching the compresseddigital watermark embedded contents Ce0 and Ce1 at a position pointed toby the pointer information in the contents selector 141.

In this manner, the compressed contents with fingerprint is generated byembedding arbitrary information in the compressed contents at lowercalculation cost without unpacking the compressed contents at all suchas decoding the Huffman code or dequantizing by referring to thecodeword sequence offset information. The codeword sequence offsetinformation may be compressed and recorded to reduce the capacity of thedistribution system.

For example, when the contents are compressed in MPEG2/4 AAC, thecodeword sequence offset may be the number of bits for each raw datablock or section. To reduce the size of the codeword offset information,a difference in the number of bits between adjacent raw data blocks orsections may be recorded.

FIG. 9 is a block diagram showing a process for making fingerprint withdigital watermark in the compressed contents according to thisembodiment, as compared with the conventional process.

As shown in FIG. 9, through the conventional process, to embed thedigital watermark in the contents, the compressed contents are onceunpacked (with dequantizing or inverse frequency conversion), thedigital watermark is embedded, and then recompressed (with frequencyconversion or quantizing) to generate a bit row describing the embedmentinformation. On the contrary, in this embodiment, a bit rowcorresponding to the embedment information is generated by selectivelyswitching the partial set of contents based on the embedment information(route indicated by the heavy line in FIG. 9). Therefore, in thisembodiment, an operation surrounded by the broken line in FIG. 9 isomitted, as compared with the conventional method. Accordingly, theprocessing cost for making the fingerprint on the contents is reduced,and the contents server 10 has a greatly reduced load.

A process for generating the contents with fingerprint in thisembodiment will be specifically described below, taking a process forembedding the distribution destination information in distributing themulti-media contents as an instance.

In the on-line distribution of the image contents or audio contents,when there is a download request for the same contents from differentusers at the same time, a case is considered in which a digitalwatermark containing the different distribution destination information(user information) is embedded as the fingerprint in response to eachrequest. The image contents or audio contents are usually compressed anddistributed. However, employing this embodiment as above described, thedistribution destination information as the fingerprint information canbe added at lower calculation cost without unpacking the compressedcontents. Particularly, this embodiment is effective for a streamingtype contents distribution in which the real time processing isrequired. Also, the temporally changing information (e.g., time stamp)as the fingerprint information is dynamically embedded at lowerprocessing cost.

Specifically, the fingerprint information is added in distributing thecontents compressed in MPEG-2/4 AAC in the following way.

(1) Embedding 1 Bit Information Per Frame

When embedding 1 bit information alone for one frame, the digitalwatermark-embedding part 12 generates in advance a plurality ofcompressed contents where single bit information is embedded and thecodeword sequence offset information describing the bit position foreach raw data block, without regarding how the frequency components aredealt with, which are stored in the digital watermark-embedded contentsstorage part 13. The adjacent raw data blocks overlap by 50% along thetime axis. Accordingly, if the compressed contents are selectivelyswitched in a unit of raw data block when the fingerprint performingpart 14 generates the fingerprint information, switching of each streamis smoothly made without causing the noise. To correctly regenerate thecontents generated by switching a plurality of streams, it is necessarythat for each prepared compressed contents, the sampling frequency,channel number, and sound source start time are the same.

FIG. 10 is diagram showing how to generate a bit row (1001) representingthe fingerprint information (embedment information) by switching thecontents where a digital watermark corresponding to the value 0 of bitinformation is embedded and the contents where a digital watermarkcorresponding to the value 1 of bit information is embedded for each rawdata block, in which the contents are compressed in MPEG-2/4 AAC.

(2) Embedding Plural Pieces of Bit Information Per Frame

When embedding plural pieces of bit information assigned for one frame,it is necessary to change a method for processing the frequency datawithin the raw data block. That is, the fingerprint performing part 14has to switch the prepared contents within the raw data block. Toperform this processing fast without solving the Huffman coding, it isrequired that the section information (section, sect_cb, scale factor)of the plurality of prepared contents is the same. If the sectioninformation is the same, spectral data in the individual channel can beswitched for each Huffman codeword (every two or four frequency lines).

The digital watermark-embedding part 12 generates beforehand a pluralityof compressed contents where bit information is embedded and thecodeword sequence offset information describing the bit position foreach raw data block under the above conditions, which are stored in thedigital watermark-embedded contents storage part 13. Since the preparedcontents have the same time position and dynamic range, there is a highpossibility that the section information is coincident. However, tocorrectly make the section information of the contents coincident, it isrequired to assure that an encoder for the digital watermark-embeddingpart 12 performs a process for embedding the digital watermark at thetime of compressing the contents, and at the same time outputs aplurality of compressed contents.

In the first embodiment described above, the client terminal 20transmits an acquisition request for the contents to the contents server10, and in response to this request, the contents server 10 transmitsthe contents with fingerprint to the client terminal 20. On thecontrary, in the second embodiment, embedding a unique ID in thebroadcast (including the multi-cast, and so forth) contents isimplemented with fingerprint using the digital watermark.

FIG. 11 is a diagram schematically showing the overall configuration ofa system for distributing the digital contents according to a secondembodiment of the invention.

As shown in FIG. 11, the system of this embodiment comprises abroadcasting station 40 as the contents server that distributes thecontents by broadcasting, and a receiving apparatus 50 as the clientterminal that receives the contents distributed from the broadcastingstation 40.

In the broadcast for forwarding the contents to a number of users at thesame time, it is impossible to add different information (tracking code)for each distribution destination to the distributed contents. Thus, inthe second embodiment, when distributing the contents, the contentshaving two or more different kinds of digital watermarks (digitalwatermarks 1, 2) inserted are transmitted at the same time, whereby thereceiving apparatus 50 stores a plurality of received contents byswitching the digital contents in accordance with a predetermined timesequence intrinsic to each receiving apparatus 50. That is, in thereceiving apparatus 50, the contents with fingerprint are generated.Thereby, the fingerprint information different for each distributiondestination can be embedded in the broadcast contents.

As described above, the broadcasting station 40 forwards the contentshaving two or more different kinds of digital watermarks (correspondingto bit information 0 and 1) inserted at the same time. However, thesecontents may be generated from the original contents using a digitalwatermark-embedding function implemented in the broadcasting station 40,which function is the same as for the digital watermark-embedding part12 in the contents server 10 of the first embodiment as shown in FIG. 3,or transmitted from the outside by preparing the digitalwatermark-embedded contents generated from the predetermined originalcontents. As described in the first embodiment with reference to FIG. 6,the contents not containing the digital watermark corresponding to bitinformation may be mixed. The means for broadcasting the contents maywidely include the electric wave broadcasting such televisionbroadcasting, wire broadcasting and information communication network.

The receiving apparatus 50 comprises a receiving component 51 forreceiving the distributed contents, and a contents using part 52 forusing (regenerating, perusing) the received contents, as shown in FIG.11.

The receiving component 51 is realized by a set top box (STB) dedicatedfor the television receiver, for example, and has a function ofreceiving the general contents, and a function of processing thereceived contents to be usable in the contents using part 52, as well asin this second embodiment, the same function of the fingerprintperforming part 14 in the contents server 10 of the first embodiment asshown in FIG. 3. That is, a plurality of contents of the same contentswhere a digital watermark corresponding to the bit information 0 or 1 isembedded are switched and synthesized for each specific part. Thereby,the contents having embedded the fingerprint information described in abit row being formed by the digital watermark are generated.

In this embodiment, an intrinsic apparatus ID (ID-1, ID-2, . . . , ID-Min the illustrated example) is attached to each receiving apparatus 50,and held in a predetermined storage device such as a semiconductormemory. The receiving component 51 selectively switches a partial set ofthe contents where a digital watermark corresponding to the value 0 ofbit information is embedded and a partial set of the contents where adigital watermark corresponding to the value 1 of bit information isembedded in accordance with a time sequence intrinsic to each receivingapparatus 50 that is decided on the basis of this apparatus ID, andgenerates the fingerprint information intrinsic to each receivingapparatus 50.

For example, assuming that the M distribution contents at time t areI_(i)(t) (i=1, . . . , M), and the embedment information dependent onthe apparatus ID is O_(ID)(t), O_(ID)(t)=I_(f(t,ID))(t) where f(t,ID) isa function of outputting an integer from 1 to n in accordance with thetime t. For any ID pair X, Y (X¹ Y), there is a certain period t₀≦t≦t₁for which f(t,X)¹f(t,Y) is satisfied.

A specific operation for adding the embedment information as thefingerprint information to the contents is the same as the processperformed by the fingerprint performing part 14 in the first embodimentand described with reference to FIG. 8. In this embodiment, the pseudorandom number generator 142 calculates the seed of the pseudo randomnumber function in accordance with a time sequence based on theapparatus ID, and the contents selector 141 is controlled in accordancewith a pseudo random number sequence calculated from this seed.

In the above manner, a sequence (secondary information) unique for eachdistribution destination and varying with the elapse of time can beembedded in the contents. The information designating the distributiondestination alone may be embedded irrespective of the elapse of time,depending on the use mode or purpose of the fingerprint informationembedded in the contents. Conversely, the information designating thedistribution time alone may be embedded irrespective of the distributiondestination. Furthermore, other parameters than the distributiondestination and the distribution time may be set and embedded as thefingerprint information in the contents.

The contents using part 52 is realized by a television receiver, forexample, to regenerate the contents with fingerprint received by thereceiving component 51.

The receiving apparatus 50 comprises a storage means (not shown) such asa magnetic disk unit that can store the contents via the receivingcomponents 51.

The distribution destination and the distribution time of the contentsare designated by the fingerprint information embedded in the contentsin this embodiment. Accordingly, when the period or time zone where thespecific contents are frequently distributed is investigated or thesecondary distribution of the predetermined contents is made, it ispossible to determine whether or not the distribution is made withoutlegal right by investigating the source or the primary distributionmode.

In this embodiment, a plurality of contents where a digital watermark isembedded are distributed at the same time, and synthesized by thereceiving apparatus 50 to add the apparatus-intrinsic information to thecontents. A method for describing the information by combining aplurality of contents where a digital watermark is embedded, rather thanadding the information by embedding the digital watermark in thecontents has a lower processing cost and a high speed, and is suitablefor adding the information in the contents received by the receivingapparatus 50. Accordingly, the information intrinsic to the distributiondestination can be added to the contents in the broadcast or multi-castwith no designation of the distribution destination.

As described above, with this invention, it is possible to embed adifferent digital watermark in the digital contents for each accesswithout increasing load at the contents server to the utmost.

Also, it is possible to implement a digital contents distribution systempractically on line using such a digital watermark-embedding technique.

While the invention has been described with respect to certain preferredembodiments and exemplifications, it is not intended to limit the scopeof the invention thereby, but solely by the claims appended hereto.

1. A contents server distributing digital contents via a network inresponse to an acquisition request from outside, said contents servercomprising: a contents storage part for storing a plurality of digitalcontents wherein a different digital watermark is embedded; a storagedevice containing embedment information, and an information adding partcomprising: i) a content selector for inputting digital watermarkembedded digital contents Ce0 and Ce1, and selectively switching andoutputting the digital contents; wherein Ce0 and Ce1 are calculatedresponsive to intensity of said different digital watermark, and ii) apseudo random number generator for controlling said content selector tooutput a partial set of contents Ce0(n) of contents Ce0 and a partialset of contents Ce1(n) of content Ce1 to generate digital watermarkcontent Cf; for synthesizing said digital contents for each specificpart acquisition requester, adding to said digital contents informationspecified by a digital watermark that is different for each acquisitionrequester being embedded for each part of said digital contents; saiddigital content information responsive to the embedment information;wherein the embedded information is responsive to time of digitalcontents distribution.
 2. The contents server according to claim 1,wherein said information adding part dynamically adds said informationto said digital contents in response to an acquisition request forpredetermined digital contents.
 3. The contents server according toclaim 1, wherein said information adding part forms a bit row with adigital watermark-embedded for each part of said digital contents anddescribes said information in said digital contents with said bit row.4. The contents server according to claim 1, wherein said contentsstorage part stores said digital contents compressed in a predeterminedcompression format, and said information adding part for, bysynthesizing a plurality of said digital contents based on the codewordsequence offset information regarding said digital contents inaccordance with said compression format, adding said information withoutunpacking said digital contents.
 5. A computer comprising: a selectorfor inputting a plurality of digital contents wherein a differentdigital watermark is embedded, and for outputting while switchingselectively said plurality of digital contents for each specific part;an information adding part comprising: i) a content selector forinputting digital watermark embedded digital contents Ce0 and Ce1, andselectively switching and outputting the digital contents, and ii) apseudo random number generator for controlling said content selector tooutput a partial set of contents Ce0(n) of contents Ce0 and a partialset of contents Ce1(n) of content Ce1 to generate digital watermarkcontent Cf; for synthesizing said digital contents for each specificacquisition requester, adding to said digital contents informationspecified by a digital watermark that is different for each acquisitionrequester being embedded for each part of said digital contents; afingerprinting information generating part generating a predeterminednumber of sets of Ce0 and Ce1; said partial set varied for each saidacquisition requester; wherein the predetermined number is greater thanone; and a control part for controlling said selector based on apredetermined embedment information, said computer generating by acontrol at said control part, wherein said embedment information isdescribed with a bit row being formed by said digital watermark-embeddedin each of said part of said digital contents.
 6. The computer accordingto claim 5, wherein said selector inputs a plurality of digital contentswhere a digital watermark representing the bit information 0 isembedded, and a plurality of digital contents where a digital watermarkrepresenting the bit information 1 is embedded, and selects digitalcontents where a digital watermark corresponding to desired bitinformation is embedded under a control of said control part.
 7. Thecomputer according to claim 5, wherein said selector inputs to saidselector digital contents where a digital watermark representing the bitinformation 0 is embedded, digital contents where a digital watermarkrepresenting the bit information 1 is embedded, and digital contentswhere a digital watermark is not embedded, and selects said digitalcontents under a control of said control part whereby a portioncontaining no bit information is set in said bit row describing saidembedment information.
 8. The computer according to claim 5, whereinsaid selector selectively switches said digital contents, based on thepointer information pointing to a delimiter for said part of saiddigital contents.
 9. The computer according to claim 8, wherein saidselector inputs said digital contents compressed in a predeterminedcompression format, and selectively switches said digital content, usingthe codeword sequence offset information regarding said digital contentsin accordance with said compression format as said pointer information.10. A program product comprising a medium having computer readable codestored thereon for causing a computer to perform the data processing bycontrolling a computer, comprising: a first process for reading outpredetermined embedment information from a predetermined storage device;and a second process for acquiring a plurality of digital contents wherea different digital watermark is embedded, selectively switching saidplurality of digital contents for a specific part, based on saidembedment information, and generating the digital contents describingsaid embedment information, using a bit sequence formed with a digitalwatermark-embedded in said part of said digital contents said processcomprising adding information by a method comprising an informationadding step comprising: i) selecting content for inputting digitalwatermark embedded digital contents Ce0 and Ce1, and selectivelyswitching and outputting the digital contents, and ii) generating apseudo random number for selecting content to output a partial set ofcontents Ce0(n) of contents Ce0 and a partial set of contents Ce1(n) ofcontent Ce1 to generate digital watermark content Cf; synthesizing saiddigital contents for each specific acquisition requester, and adding tosaid digital contents information specified by a digital watermark thatis different for each acquisition requester being embedded for each partof said digital contents; and a third process for generating sequenceoffset information describing bit positions for raw data blocks of saiddigital contents; said sequence offset information used in selectingsaid content to output said set of contents Ce0(n) of contents Ce0 and apartial set of contents Ce1(n) of content Ce1 to generate digitalwatermark content Cf.
 11. The program product according to claim 10,wherein said second process of said program performed by said computercomprises acquiring a plurality of digital contents where a digitalwatermark representing the bit information 0 is embedded, and aplurality of digital contents where a digital watermark representing thebit information 1 is embedded, and selecting digital contents where adigital watermark corresponding to appropriate bit informationdescribing said embedment information is embedded.
 12. The programproduct according to claim 10, wherein said second process of saidprogram performed by said computer comprises acquiring digital contentswhere a digital watermark representing the bit information 0 isembedded, digital contents where a digital watermark representing thebit information 1 is embedded, and digital contents where a digitalwatermark is not embedded, and generating digital contents describingsaid embedment information, using said bit sequence with said digitalwatermark where a portion containing no bit information is set.
 13. Theprogram product according to claim 10, wherein said second process ofsaid program performed by said computer comprises acquiring said digitalcontents compressed in a predetermined compression format, and selectingsaid digital contents, based on the codeword sequence offset informationregarding said digital contents in accordance with said compressionformat.